{{tag>système diagnostic_outil}}

----

====== Appels système au clavier : les Touches Magiques ======

===== Introduction =====

Si votre machine vient de planter et que vous n'arrivez plus à ne rien faire (voir [[tutoriel/lorsque_le_systeme_gele|la procédure usuelle]]), n'appuyez pas encore sur la touche reset ! Il vous reste une chance de redémarrer votre machine : les "touches magiques", ou //Magic Sys Keys//.




===== Qu'est-ce que c'est ? =====

Les touches magiques sont des combinaisons de touches qui permettent d'envoyer des appels directement au noyau. Il s'agit de combinaisons du type : **Alt+SysRq+Touche**. La touche **SysRq** (pour //System Request//), ou **Syst**, correspond souvent à la touche **Imprim Écran** (juste au-dessus de la touche **Inser** ou **Del**).



===== Pré-requis =====

Pour pouvoir accéder aux touches magiques, il faut que cette fonctionnalité ait été activée dans le noyau. **C'est le cas par défaut pour Ubuntu**, mais ça peut ne pas l'être pour d'autres distributions (pour le savoir, vérifiez l'existence du fichier ///proc/sys/kernel/sysrq//).

Si vous compilez vous-même votre noyau, il vous faut mettre l'option //Magic SysRq key// du menu //Kernel Hacking// à //oui//. Sachez cependant que certaines personnes((Cf. le [[http://casteyde.christian.free.fr/system/linux/guide/online/x15797.html|YALIG]] (//Yet Another Linux Installation Guide//) de Christian Casteyde.)) considèrent ces touches magiques comme un trou de sécurité.

Vous pouvez également bloquer cette fonctionnalité en mettant **kernel.sysrq=0** dans le fichier **/etc/sysctl.conf** (ou la débloquer en mettant **1**).






===== Les combinaisons de touches =====

Les touches magiques sont documentées en détail dans le fichier **/usr/share/doc/linux-doc-`uname -r`/Documentation/sysrq.txt.gz** fourni par le paquet **linux-doc-`uname -r`** (dépend de votre version du noyau, donnée par la commande **uname -r**). Les combinaisons disponibles sont :
^ Combinaison ^ Effet ^ Signification ^
| **Alt   SysRq   0-9** | Détermine le niveau de log de la console | |
| **Alt   SysRq   b** | Redémarre l'ordinateur | re**B**oot |
| **Alt   SysRq   c** |  Redémarre //via// **kexec** pour faire un **craCombinaison 	 Effet 	 Signification
Alt SysRq 0-9 	Détermine le niveau de log de la console 	
Alt SysRq b 	Redémarre l'ordinateur 	reBoot
Alt SysRq c 	Redémarre via kexec pour faire un crashdump 	Crashdump
Alt SysRq e 	Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf init) 	tErm
Alt SysRq f 	Tue le processus qui consomme le plus de mémoire (via oom-killer) 	
Alt SysRq i 	Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf init) 	kIll
Alt SysRq k 	Tue tous les processus de la console virtuelle courante 	Key
Alt SysRq l 	Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même init) 	kilL
Alt SysRq m 	Affiche le contenu actuel de la mémoire 	Memory
Alt SysRq o 	Éteint le systeme via APM 	Out
Alt SysRq p 	Affiche sur la console les registres et drapeaux actuels 	Print
Alt SysRq r 	Bascule la gestion du clavier de mode brute (raw) à XLATE 	Raw
Alt SysRq s 	Synchronise les disques (tente d'écrire toutes les données non sauvegardées) 	sync
Alt SysRq t 	Affiche une liste des tâches actuellement en cours et leur description 	Task
Alt SysRq u 	Tente de remonter tous les systèmes de fichiers montés en lecture seule. Ceci retire le marquage « dirty flag » et évitera ainsi une vérification du système de fichiers au redémarrage. 	Umount
Procédure pour redémarrer votre machine

Effectuez les combinaisons de touches suivantes, dans l'ordre :

   1.
      Alt SysRq s - Synchronise les disques
   2.
      Alt SysRq e - Essaie de fermer les processus en envoyant SIGTERM [facultatif]
   3.
      Alt SysRq i - Tue tous les processus restant en envoyant SIGKILL [facultatif]
   4.
      Alt SysRq u - Démonte les disques
   5.
      Alt SysRq b - Redémarre

Il est important d'attendre plusieurs secondes entre les différentes étapes, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher…

Un moyen mnémotechnique parmi d'autres pour se souvenir de la séquence : Stopper Ubuntu Brusquement (pour la séquence longue : Savoir Eteindre Intégralement Ubuntu Brusquement ou So Everything Is Unusual, Boot). shdump**  | **C**rashdump |
| **Alt   SysRq   e** | Envoie un signal de terminaison (SIGTERM) à tous les processus (sauf //init//) | t**E**rm |
| **Alt   SysRq   f** | Tue le processus qui consomme le plus de mémoire (//via// **oom-killer**) | |
| **Alt   SysRq   i** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (sauf //init//) | k**I**ll |
| **Alt   SysRq   k** | Tue tous les processus de la console virtuelle courante | **K**ey |
| **Alt   SysRq   l** | Envoie un signal de fin (SIGKILL, plus ferme que SIGTERM) à tous les processus (même //init//) | kil**L** |
| **Alt   SysRq   m** | Affiche le contenu actuel de la mémoire | **M**emory |
| **Alt   SysRq   o** | Éteint le systeme via APM | **O**ut |
| **Alt   SysRq   p** | Affiche sur la console les registres et drapeaux actuels | **P**rint |
| **Alt   SysRq   r** | Bascule la gestion du clavier de mode brute (raw) à XLATE | **R**aw |
| **Alt   SysRq   s** | Synchronise les disques (tente d'écrire toutes les données non sauvegardées) | **s**ync |
| **Alt   SysRq   t** | Affiche une liste des tâches actuellement en cours et leur description | **T**ask |
| **Alt   SysRq   u** | Tente de remonter tous les systèmes de fichiers montés en lecture seule. Ceci retire le marquage « dirty flag » et évitera ainsi une vérification du système de fichiers au redémarrage. | **U**mount |



===== Procédure pour redémarrer votre machine =====
Effectuez les combinaisons de touches suivantes, dans l'ordre :

  - **Alt   SysRq   s** - Synchronise les disques
  - **Alt   SysRq   e** - Essaie de fermer les processus en envoyant SIGTERM [facultatif]
  - **Alt   SysRq   i** - Tue tous les processus restant en envoyant SIGKILL [facultatif]
  - **Alt   SysRq   u** - Démonte les disques
  - **Alt   SysRq   b** - Redémarre

**Il est important d'attendre plusieurs secondes entre les différentes étapes**, car en cas de plantage sévère vous ne verrez pas les messages de progression s'afficher...

Un moyen mnémotechnique parmi d'autres pour se souvenir de la séquence : //**S**topper **U**buntu **B**rusquement// (pour la séquence longue : //**S**avoir **E**teindre **I**ntégralement **U**buntu **B**rusquement// ou
//**S**o **E**verything **I**s **U**nusual, **B**oot).//

----

 //Contributeurs : [[utilisateurs:nknico]],   [[utilisateurs:naoli|naoli]]//